package com.galen.manual.service;

import com.galen.manual.dto.ProductCreateDTO;
import com.galen.manual.dto.ProductQueryDTO;
import com.galen.manual.vo.ProductDetailVO;
import com.galen.manual.vo.ProductListVO;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface ProductService {

    List<ProductListVO> getProductList(ProductQueryDTO queryDTO);

    ProductDetailVO getProductDetail(Long id);

    void createProduct(ProductCreateDTO createDTO);

    void updateProduct(Long id, ProductCreateDTO updateDTO);

    void onlineProduct(Long id);

    void offlineProduct(Long id);

    /**
     * 上传单个图片文件
     * @param file 图片文件
     * @param request HTTP请求对象
     * @return 图片访问URL
     */
    String uploadImage(MultipartFile file, HttpServletRequest request);

    /**
     * 批量上传图片文件
     * @param files 图片文件列表
     * @param request HTTP请求对象
     * @return 图片访问URL列表
     */
    List<String> uploadImages(MultipartFile[] files, HttpServletRequest request);
}